package com.demo.java.OD151_200.OD176;

import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 【统计匹配的二元组个数】问题
 * @url： https://blog.csdn.net/weixin_43970743/article/details/145856193
 */
public class OdMain {
    public static void main(String[] args) {
        try (Scanner s = new Scanner(System.in)) {
            // 输入数组A的大小和数组B的大小
            int m = s.nextInt(); // 数组 A 的长度
            int n = s.nextInt(); // 数组 B 的长度

            // 创建数组A并读取其元素
            int[] arrayA = new int[m];
            for (int i = 0; i < m; ++i) {
                arrayA[i] = s.nextInt();
            }

            // 使用HashSet存储数组B的元素，以便快速查找
            Set<Integer> setB = new HashSet<>();
            for (int i = 0; i < n; ++i) {
                setB.add(s.nextInt());
            }

            // 统计数组A中有多少个元素在数组B中
            int count = 0;
            for (int i : arrayA) {
                // 如果当前元素在数组B中存在，则计数器加一
                if (setB.contains(i)) {
                    count++;
                }
            }

            // 输出结果，即配对的数量
            System.out.println(count);
        }
    }
}